package com.housekeeping.service;

import com.housekeeping.model.Review;

import java.util.List;

/**
 * 评价服务接口
 */
public interface ReviewService {
    
    Review getReviewById(Integer reviewId);
    
    List<Review> getAllReviews();
    
    Review getReviewByOrderId(Integer orderId);
    
    List<Review> getReviewsByServiceId(Integer serviceId);
    
    List<Review> getReviewsByStaffId(Integer staffId);
    
    List<Review> getReviewsByUserId(Integer userId);
    
    List<Review> getReviewsByRating(Integer rating);
    
    Double getAverageRatingByServiceId(Integer serviceId);
    
    Double getAverageRatingByStaffId(Integer staffId);
    
    long getReviewCountByServiceId(Integer serviceId);
    
    long getReviewCountByStaffId(Integer staffId);
    
    boolean addReview(Review review);
    
    boolean updateReview(Review review);
    
    boolean deleteReview(Integer reviewId);
    
    long getReviewCount();
    
    boolean isOrderReviewed(Integer orderId);
    
    boolean submitReview(Integer orderId, Integer userId, Integer rating, String content);
} 